package cn.com.nes.site.service.project;

import cn.com.nes.mybatis.agent.project.entity.TProjectScheduling;
import cn.com.nes.site.entity.bo.project.ProjectSchedulingSaveBO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

public interface ProjectSchedulingService extends IService<TProjectScheduling> {

    /**
     * 查询项目排期列表
     * @param projectUuids 项目uuid 复数
     * @return
     * @throws Exception
     */
    List<TProjectScheduling> getList(List<String> projectUuids) throws Exception;

    /**
     * 查询项目排期
     * @param projectUuid   项目uuid
     * @return
     * @throws Exception
     */
    TProjectScheduling getOne(String projectUuid) throws Exception;

    /**
     * 查询项目排期
     * @param id    主键ID
     * @return
     * @throws Exception
     */
    TProjectScheduling getOne(Long id) throws Exception;


    /**
     * List 转 Map
     *  格式： <projectUuid, TProjectScheduling>
     * @param schedulingList
     * @return
     */
    Map<String, TProjectScheduling> convertToMapOfKeyIsProjectUuid(List<TProjectScheduling> schedulingList);


    TProjectScheduling saveProjectScheduling(ProjectSchedulingSaveBO projectSchedulingSaveBo) throws Exception;

}
